Skip to content

Documenter manual and docs deployment for 1.0 - #109

Open
tanmaykm wants to merge 4 commits into
mainfrom
tan/documenter-docs
Open

Documenter manual and docs deployment for 1.0#109
tanmaykm wants to merge 4 commits into
mainfrom
tan/documenter-docs

Conversation

@tanmaykm

Copy link
Copy Markdown
Member

Restores documentation generation for the 1.0 line — the docs site item from #104. PR #103 removed the 0.2 Documenter setup along with everything else; since then nothing updates the site, whose state is worse than stale: gh-pages has no v0.2.x versioned docs at all (tag-triggered deploys silently stopped after v0.1.23), so stable still serves v0.1.23.

What this adds

A full Documenter manual (docs/): a home page, the migration guide (mirrored from the root MIGRATION.md at build time so the two cannot drift), nine manual pages reorganized from the README — clients, streaming/codecs, security, servers, document authoring, pipeline/diagnostics, generated models, the generated-code contract, and the support boundary — and an API reference covering every public name (checkdocs = :public enforces that coverage at build time).

The pipeline, server, and authoring pages run their examples at build time (@example blocks) against inline documents: the server page renders the actual generated handler-signature header, the pipeline page runs load → check → normalize → plan → emit end to end, and the authoring page prints the full generated OpenAPI document. If documented behavior drifts from the code, the docs build fails.

Docstrings for the eight public names that lacked them (ClientPlan, ServerPlan, NormalizedAPI, DocumentVersion, location, oas_family, obj, parse) — required by the coverage check, useful regardless.

A CI docs job using the same julia-docdeploy flow as the 0.2 lane: deploydocs targets devbranch = "main", deploys versioned docs on tags, and pushes PR previews.

A trimmed README: the full content now lives in the manual in one place; the README keeps the overview, quick starts, and migration pointer, and gains docs/CI badges. (Separable commit if you'd rather keep the long README.)

What happens to the site

  • On merge: dev docs start tracking main again (currently frozen at v0.2.8 content).
  • On tagging v1.0.0: v1.0.0 docs deploy and stable finally moves off v0.1.23.
  • Tagging v0.2.9 from release-0.2 (after fix(client): keep form-style CSV separators literal in query strings #107) will exercise that branch's own docs job and backfill 0.2 versioned docs — provided the DOCUMENTER_KEY secret is still valid, which the silent tag-deploy failures since v0.1.23 make worth checking. This PR's Documentation check on CI will confirm the build; the deploy path is only exercised on push.

Validation

Built locally from a clean docs environment: zero Documenter warnings (cross-references, docstring coverage, and example execution all clean). Local build:

julia --project=docs -e 'using Pkg; Pkg.develop(path="."); Pkg.instantiate()'
julia --project=docs docs/make.jl

Part of #104.

ClientPlan, ServerPlan, NormalizedAPI, DocumentVersion, location,
oas_family, obj, and parse were the only public names without
docstrings; the Documenter reference page checks public coverage.
Home, migration (mirrored from MIGRATION.md at build time so the two
cannot drift), nine manual pages reorganized from the README, and an
API reference covering every public name (checkdocs = :public).
The pipeline, server, and authoring pages run their examples at build
time against inline documents, so the site fails to build if the
documented behavior drifts from the code.
Same julia-docdeploy flow the 0.2 lane uses; deploydocs targets
devbranch main, deploys versioned docs on tags, and pushes PR
previews.
The full content now lives in the Documenter manual, in one place;
the README keeps the overview, quick starts, and migration pointer,
and gains docs and CI badges.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant